/**
 * 
 */
package testy.core;

import static org.junit.Assert.*;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import baduga.core.Database_Messages;

/**
 * @author Janek
 *
 */
public class Test__Database_Messages  {

	private static Database_Messages obj;

	/**
	 * @throws java.lang.Exception
	 */
	@BeforeClass
	public static void  setUpBeforeClass() throws Exception {
		obj = new Database_Messages();
	}

	/**
	 * @throws java.lang.Exception
	 */
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		obj = null;
	}


	/**
	 * Sprawdza poprawność zwracania istniejących komunikatów
	 */
	@Test
	public void testLoadExistMessage() {
		//Komunikat, docelowa, zwrócona
		assertEquals("Test komunikatu o identyfikatorze: OxFFFF", "Podany komunikat nie istnieje", obj.getMessage(0xFFFF));
		assertEquals("Test komunikatu o identyfikatorze: 0xFFFE", "nie istnieje", obj.getMessage(0xFFFE));
	}
	
	
	/**
	 * Sprawdza poprawność zwracania stanu nie istniejących komunikatów
	 */
	@Test
	public void testLoadNoNExistMessage() {
		//Komunikat, docelowa, zwrócona
		assertEquals("Test komunikatu o identyfikatorze: OxFFAA", null, obj.getMessage(0xFFAA));
		assertEquals("Test komunikatu o identyfikatorze: 0xFFAB", null, obj.getMessage(0xFFAB));
	}
	
	/**
	 * Sprawdza poprawność wykrywania istniejących komunikatów
	 */
	@Test
	public void testCheckExistMessage() {
		assertTrue("Komunikat o kodzie 0xFFFF", obj.isExistMessage(0xFFFF));
		assertTrue("Komunikat o kodzie 0xFFFE", obj.isExistMessage(0xFFFE));

	}
	
	/**
	 * Sprawdza poprawność wykrywania nie istniejących komunikatów
	 */
	@Test
	public void testCheckNoNExistMessage() {
		assertFalse("Nie istniejący komunikat o kodzie 0xFFAA", obj.isExistMessage(0xFFAA));
		assertFalse("Nie istniejący komunikat o kodzie 0xFFAB", obj.isExistMessage(0xFFAB));
		
		
		assertEquals("Test komunikatu o identyfikatorze: 0xFFAD", false, obj.isExistMessage(0xFFAD));
	}

}
